\hypertarget{class_i_event_manager}{\section{I\-Event\-Manager Class Reference}
\label{class_i_event_manager}\index{I\-Event\-Manager@{I\-Event\-Manager}}
}


Manages events and listeners.  




{\ttfamily \#include $<$I\-Event\-Manager.\-h$>$}

Inheritance diagram for I\-Event\-Manager\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{class_i_event_manager}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{class_i_event_manager_a6f0594c36436cef0ec2f1a292e696a3c}{$\sim$\-I\-Event\-Manager} ()
\item 
virtual void \hyperlink{class_i_event_manager_a71e4cf7f0b61929a3f878e0d09778d9b}{Update} (float frame\-Time)=0
\begin{DoxyCompactList}\small\item\em Updates the event manager. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_i_event_manager_a4bc99cb0ef622ba2ec2ab0e1f2ca16c9}{Register\-Listener} (\hyperlink{class_i_event_listener}{I\-Event\-Listener} $\ast$listener, \hyperlink{_i_event_manager_8h_ab13f1eb4f7990ad6a97263126b1e8565}{E\-V\-E\-N\-T\-\_\-\-C\-L\-A\-S\-S} event\-Class=\hyperlink{_i_event_manager_8h_ab13f1eb4f7990ad6a97263126b1e8565a230d22d3c096db888df52a0e5d5ba7ac}{E\-C\-\_\-\-U\-N\-K\-N\-O\-W\-N}, \hyperlink{_i_event_manager_8h_acebeb2e728025f3444b405355a3f8e92}{E\-V\-E\-N\-T\-\_\-\-N\-A\-M\-E} event\-Name=\hyperlink{_i_event_manager_8h_acebeb2e728025f3444b405355a3f8e92a0bdce79d948b8215713bcf669df0b8f1}{E\-\_\-\-U\-N\-K\-N\-O\-W\-N})=0
\begin{DoxyCompactList}\small\item\em Registers an object to receive all events. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_i_event_manager_a5e6327650d496ce27637550bc46d808b}{Unregister\-Listener} (\hyperlink{class_i_event_listener}{I\-Event\-Listener} $\ast$listener)=0
\begin{DoxyCompactList}\small\item\em Unregisters an object. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_i_event_manager_a392a23f11ab77aa893cbef5bd4cd6fa8}{Register\-Event} (int event\-Name, int event\-Class, \hyperlink{struct_i_event_data}{I\-Event\-Data} $\ast$p\-Data=N\-U\-L\-L)=0
\begin{DoxyCompactList}\small\item\em Queues an event that is then received by the obj that registered for it. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_i_event_manager_aa5e47321003d80135281a90034c7064e}{Shut\-Down} ()=0
\begin{DoxyCompactList}\small\item\em Shuts down the event manager, frees leftover events and listeners, deallocates memory. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Manages events and listeners. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_i_event_manager_a6f0594c36436cef0ec2f1a292e696a3c}{\index{I\-Event\-Manager@{I\-Event\-Manager}!$\sim$\-I\-Event\-Manager@{$\sim$\-I\-Event\-Manager}}
\index{$\sim$\-I\-Event\-Manager@{$\sim$\-I\-Event\-Manager}!IEventManager@{I\-Event\-Manager}}
\subsubsection[{$\sim$\-I\-Event\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}virtual I\-Event\-Manager\-::$\sim$\-I\-Event\-Manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{class_i_event_manager_a6f0594c36436cef0ec2f1a292e696a3c}


\subsection{Member Function Documentation}
\hypertarget{class_i_event_manager_a392a23f11ab77aa893cbef5bd4cd6fa8}{\index{I\-Event\-Manager@{I\-Event\-Manager}!Register\-Event@{Register\-Event}}
\index{Register\-Event@{Register\-Event}!IEventManager@{I\-Event\-Manager}}
\subsubsection[{Register\-Event}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-Event\-Manager\-::\-Register\-Event (
\begin{DoxyParamCaption}
\item[{int}]{event\-Name, }
\item[{int}]{event\-Class, }
\item[{{\bf I\-Event\-Data} $\ast$}]{p\-Data = {\ttfamily NULL}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{class_i_event_manager_a392a23f11ab77aa893cbef5bd4cd6fa8}


Queues an event that is then received by the obj that registered for it. 


\begin{DoxyParams}{Parameters}
{\em event\-Name} & The name of the event that is to be registered \\
\hline
{\em event\-Class} & The classes to which the event applies \\
\hline
{\em data} & Additional data the event wants to send to the listeners, must be derived from \hyperlink{struct_i_event_data}{I\-Event\-Data} \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classpg_input_event_manager_a4e5414722dc173201669de70df67352f}{pg\-Input\-Event\-Manager}.

\hypertarget{class_i_event_manager_a4bc99cb0ef622ba2ec2ab0e1f2ca16c9}{\index{I\-Event\-Manager@{I\-Event\-Manager}!Register\-Listener@{Register\-Listener}}
\index{Register\-Listener@{Register\-Listener}!IEventManager@{I\-Event\-Manager}}
\subsubsection[{Register\-Listener}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-Event\-Manager\-::\-Register\-Listener (
\begin{DoxyParamCaption}
\item[{{\bf I\-Event\-Listener} $\ast$}]{listener, }
\item[{{\bf E\-V\-E\-N\-T\-\_\-\-C\-L\-A\-S\-S}}]{event\-Class = {\ttfamily {\bf E\-C\-\_\-\-U\-N\-K\-N\-O\-W\-N}}, }
\item[{{\bf E\-V\-E\-N\-T\-\_\-\-N\-A\-M\-E}}]{event\-Name = {\ttfamily {\bf E\-\_\-\-U\-N\-K\-N\-O\-W\-N}}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{class_i_event_manager_a4bc99cb0ef622ba2ec2ab0e1f2ca16c9}


Registers an object to receive all events. 


\begin{DoxyParams}{Parameters}
{\em listener} & The object that wants to be registered, must be derived from \hyperlink{class_i_event_listener}{I\-Event\-Listener} \\
\hline
{\em event\-Class} & The event class the object want's to register for, use E\-C\-\_\-\-U\-N\-K\-N\-O\-W\-N for all events \\
\hline
{\em event\-Name} & The event name the object wants to register for, use E\-\_\-\-U\-N\-K\-N\-O\-W\-N to receive all events \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classpg_input_event_manager_a9fc9092074b92baba1566c3e51ddbaad}{pg\-Input\-Event\-Manager}.

\hypertarget{class_i_event_manager_aa5e47321003d80135281a90034c7064e}{\index{I\-Event\-Manager@{I\-Event\-Manager}!Shut\-Down@{Shut\-Down}}
\index{Shut\-Down@{Shut\-Down}!IEventManager@{I\-Event\-Manager}}
\subsubsection[{Shut\-Down}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-Event\-Manager\-::\-Shut\-Down (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{class_i_event_manager_aa5e47321003d80135281a90034c7064e}


Shuts down the event manager, frees leftover events and listeners, deallocates memory. 



Implemented in \hyperlink{classpg_input_event_manager_add5f4d0acf0970c5963dcd5c7e7275b5}{pg\-Input\-Event\-Manager}.

\hypertarget{class_i_event_manager_a5e6327650d496ce27637550bc46d808b}{\index{I\-Event\-Manager@{I\-Event\-Manager}!Unregister\-Listener@{Unregister\-Listener}}
\index{Unregister\-Listener@{Unregister\-Listener}!IEventManager@{I\-Event\-Manager}}
\subsubsection[{Unregister\-Listener}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-Event\-Manager\-::\-Unregister\-Listener (
\begin{DoxyParamCaption}
\item[{{\bf I\-Event\-Listener} $\ast$}]{listener}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{class_i_event_manager_a5e6327650d496ce27637550bc46d808b}


Unregisters an object. 


\begin{DoxyParams}{Parameters}
{\em listener} & The object that wants to be unregistered, must be derived from \hyperlink{class_i_event_listener}{I\-Event\-Listener} \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classpg_input_event_manager_ae404352163a7bda1b7392a95600f7eda}{pg\-Input\-Event\-Manager}.

\hypertarget{class_i_event_manager_a71e4cf7f0b61929a3f878e0d09778d9b}{\index{I\-Event\-Manager@{I\-Event\-Manager}!Update@{Update}}
\index{Update@{Update}!IEventManager@{I\-Event\-Manager}}
\subsubsection[{Update}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-Event\-Manager\-::\-Update (
\begin{DoxyParamCaption}
\item[{float}]{frame\-Time}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{class_i_event_manager_a71e4cf7f0b61929a3f878e0d09778d9b}


Updates the event manager. 


\begin{DoxyParams}{Parameters}
{\em frame\-Time} & Delta time of two frames \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classpg_input_event_manager_a451a5000cde52f87fdfd7c81fbfb9540}{pg\-Input\-Event\-Manager}.



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Inc/\hyperlink{_i_event_manager_8h}{I\-Event\-Manager.\-h}\end{DoxyCompactItemize}
